Using Contaminated Garbage Collection and Reference Counting Garbage Collection to Provide Automatic Storage Reclamation for Real-Time Systems
ثبت نشده
چکیده
USING CONTAMINATED GARBAGE COLLECTION AND REFERENCE COUNTING GARBAGE COLLECTION TO PROVIDE AUTOMATIC STORAGE RECLAMATION FOR REAL TIME SYSTEMS by Matthew P Hampton ADVISOR Dr Ron K Cytron May Saint Louis Missouri Language support for dynamic storage management simpli es the application programming task immensely As a result dynamic storage allocation and garbage collection have become common in general purpose computing Garbage collection research has led to the development of algorithms for locating program memory that is no longer in use and returning that unused memory to the run time system for later use by the program While many programming languages have adopted automatic memory recla mation features this has not been the trend in Real Time systems Many garbage collection methods involve some form of marking the objects in memory This mark ing requires time proportional to the size of the heap to complete As a result the predictability constraints of Real Time are often not satis ed by such approaches In this thesis we present an analysis of several approaches for program garbage collection We examine two approximate collection strategies Reference Counting and Contaminated Garbage Collection and one complete collection approach Mark and Sweep Garbage Collection Additionally we analyze the relative success of each approach for meeting the demands of Real Time computing In addition we present an algorithm that attempts to classify object types as good candidates for reference counting Our approach is conservative and uses static analysis of an application s type system Our analysis of these three collection strategies leads to the observation that there could be bene ts to using multiple garbage collectors in parallel Consequently we address challenges associated with using multiple garbage collectors in one appli cation
منابع مشابه
Uniprocessor Garbage Collection Techniques 1 Automatic Storage Reclamation
We survey basic garbage collection algorithms, and variations such as incremental and generational collection. The basic algorithms include reference counting, mark-sweep, mark-compact, copying, and treadmill collection. Incremental techniques can keep garbage collection pause times short, by interleaving small amounts of collection work with program execution. Generational schemes improve effi...
متن کاملUniprocessor Garbage Collection Techniques
We survey basic garbage collection algorithms and variations such as incremental and gen erational collection The basic algorithms include reference counting mark sweep mark compact copy ing and treadmill collection Incremental techniques can keep garbage collection pause times short by interleaving small amounts of collection work with program execution Generational schemes improve e ciency an...
متن کاملA Pure Reference Counting Garbage Collector
Forty years ago, two methods of automatic storage reclamation were introduced: reference counting [Collins 1960] and tracing [McCarthy 1960]. Since that time tracing collectors and their variants (mark-and-sweep, semispace copying, mark-and-compact) have been much more widely used due to perceived deficiencies in reference counting. Changes in the relative costs of memory and processing power, ...
متن کاملNon-compacting Memory Allocation and Real-time Garbage Collection Dissertation Proposal
Garbage collection is the automatic reclamation of computer storage Knu73, Coh81, Wil92, Wil95]. While in many systems, programmers must explicitly reclaim heap memory at some point in their program by using a \free" or \dispose" statement, garbage collected systems free the programmer from this burden. In spite of its obvious attractiveness for many applications, garbage collection for real-ti...
متن کاملConcurrent Cycle Collection in Reference Counted Systems
Automatic storage reclamation via reference counting has important advantages, but has always suffered from a major weakness due to its inability to reclaim cyclic data structures. We describe a novel cycle collection algorithm that is both concurrent — it is capable of collecting garbage even in the presence of simultaneous mutation — and localized — it never needs to perform a global search o...
متن کامل